package com.sdry.entity;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class PartOutOrderExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public PartOutOrderExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andOutorderidIsNull() {
            addCriterion("outOrderid is null");
            return (Criteria) this;
        }

        public Criteria andOutorderidIsNotNull() {
            addCriterion("outOrderid is not null");
            return (Criteria) this;
        }

        public Criteria andOutorderidEqualTo(Long value) {
            addCriterion("outOrderid =", value, "outorderid");
            return (Criteria) this;
        }

        public Criteria andOutorderidNotEqualTo(Long value) {
            addCriterion("outOrderid <>", value, "outorderid");
            return (Criteria) this;
        }

        public Criteria andOutorderidGreaterThan(Long value) {
            addCriterion("outOrderid >", value, "outorderid");
            return (Criteria) this;
        }

        public Criteria andOutorderidGreaterThanOrEqualTo(Long value) {
            addCriterion("outOrderid >=", value, "outorderid");
            return (Criteria) this;
        }

        public Criteria andOutorderidLessThan(Long value) {
            addCriterion("outOrderid <", value, "outorderid");
            return (Criteria) this;
        }

        public Criteria andOutorderidLessThanOrEqualTo(Long value) {
            addCriterion("outOrderid <=", value, "outorderid");
            return (Criteria) this;
        }

        public Criteria andOutorderidIn(List<Long> values) {
            addCriterion("outOrderid in", values, "outorderid");
            return (Criteria) this;
        }

        public Criteria andOutorderidNotIn(List<Long> values) {
            addCriterion("outOrderid not in", values, "outorderid");
            return (Criteria) this;
        }

        public Criteria andOutorderidBetween(Long value1, Long value2) {
            addCriterion("outOrderid between", value1, value2, "outorderid");
            return (Criteria) this;
        }

        public Criteria andOutorderidNotBetween(Long value1, Long value2) {
            addCriterion("outOrderid not between", value1, value2, "outorderid");
            return (Criteria) this;
        }

        public Criteria andPameIsNull() {
            addCriterion("pame is null");
            return (Criteria) this;
        }

        public Criteria andPameIsNotNull() {
            addCriterion("pame is not null");
            return (Criteria) this;
        }

        public Criteria andPameEqualTo(String value) {
            addCriterion("pame =", value, "pame");
            return (Criteria) this;
        }

        public Criteria andPameNotEqualTo(String value) {
            addCriterion("pame <>", value, "pame");
            return (Criteria) this;
        }

        public Criteria andPameGreaterThan(String value) {
            addCriterion("pame >", value, "pame");
            return (Criteria) this;
        }

        public Criteria andPameGreaterThanOrEqualTo(String value) {
            addCriterion("pame >=", value, "pame");
            return (Criteria) this;
        }

        public Criteria andPameLessThan(String value) {
            addCriterion("pame <", value, "pame");
            return (Criteria) this;
        }

        public Criteria andPameLessThanOrEqualTo(String value) {
            addCriterion("pame <=", value, "pame");
            return (Criteria) this;
        }

        public Criteria andPameLike(String value) {
            addCriterion("pame like", value, "pame");
            return (Criteria) this;
        }

        public Criteria andPameNotLike(String value) {
            addCriterion("pame not like", value, "pame");
            return (Criteria) this;
        }

        public Criteria andPameIn(List<String> values) {
            addCriterion("pame in", values, "pame");
            return (Criteria) this;
        }

        public Criteria andPameNotIn(List<String> values) {
            addCriterion("pame not in", values, "pame");
            return (Criteria) this;
        }

        public Criteria andPameBetween(String value1, String value2) {
            addCriterion("pame between", value1, value2, "pame");
            return (Criteria) this;
        }

        public Criteria andPameNotBetween(String value1, String value2) {
            addCriterion("pame not between", value1, value2, "pame");
            return (Criteria) this;
        }

        public Criteria andOdateIsNull() {
            addCriterion("odate is null");
            return (Criteria) this;
        }

        public Criteria andOdateIsNotNull() {
            addCriterion("odate is not null");
            return (Criteria) this;
        }

        public Criteria andOdateEqualTo(Date value) {
            addCriterion("odate =", value, "odate");
            return (Criteria) this;
        }

        public Criteria andOdateNotEqualTo(Date value) {
            addCriterion("odate <>", value, "odate");
            return (Criteria) this;
        }

        public Criteria andOdateGreaterThan(Date value) {
            addCriterion("odate >", value, "odate");
            return (Criteria) this;
        }

        public Criteria andOdateGreaterThanOrEqualTo(Date value) {
            addCriterion("odate >=", value, "odate");
            return (Criteria) this;
        }

        public Criteria andOdateLessThan(Date value) {
            addCriterion("odate <", value, "odate");
            return (Criteria) this;
        }

        public Criteria andOdateLessThanOrEqualTo(Date value) {
            addCriterion("odate <=", value, "odate");
            return (Criteria) this;
        }

        public Criteria andOdateIn(List<Date> values) {
            addCriterion("odate in", values, "odate");
            return (Criteria) this;
        }

        public Criteria andOdateNotIn(List<Date> values) {
            addCriterion("odate not in", values, "odate");
            return (Criteria) this;
        }

        public Criteria andOdateBetween(Date value1, Date value2) {
            addCriterion("odate between", value1, value2, "odate");
            return (Criteria) this;
        }

        public Criteria andOdateNotBetween(Date value1, Date value2) {
            addCriterion("odate not between", value1, value2, "odate");
            return (Criteria) this;
        }

        public Criteria andOremarkIsNull() {
            addCriterion("oremark is null");
            return (Criteria) this;
        }

        public Criteria andOremarkIsNotNull() {
            addCriterion("oremark is not null");
            return (Criteria) this;
        }

        public Criteria andOremarkEqualTo(String value) {
            addCriterion("oremark =", value, "oremark");
            return (Criteria) this;
        }

        public Criteria andOremarkNotEqualTo(String value) {
            addCriterion("oremark <>", value, "oremark");
            return (Criteria) this;
        }

        public Criteria andOremarkGreaterThan(String value) {
            addCriterion("oremark >", value, "oremark");
            return (Criteria) this;
        }

        public Criteria andOremarkGreaterThanOrEqualTo(String value) {
            addCriterion("oremark >=", value, "oremark");
            return (Criteria) this;
        }

        public Criteria andOremarkLessThan(String value) {
            addCriterion("oremark <", value, "oremark");
            return (Criteria) this;
        }

        public Criteria andOremarkLessThanOrEqualTo(String value) {
            addCriterion("oremark <=", value, "oremark");
            return (Criteria) this;
        }

        public Criteria andOremarkLike(String value) {
            addCriterion("oremark like", value, "oremark");
            return (Criteria) this;
        }

        public Criteria andOremarkNotLike(String value) {
            addCriterion("oremark not like", value, "oremark");
            return (Criteria) this;
        }

        public Criteria andOremarkIn(List<String> values) {
            addCriterion("oremark in", values, "oremark");
            return (Criteria) this;
        }

        public Criteria andOremarkNotIn(List<String> values) {
            addCriterion("oremark not in", values, "oremark");
            return (Criteria) this;
        }

        public Criteria andOremarkBetween(String value1, String value2) {
            addCriterion("oremark between", value1, value2, "oremark");
            return (Criteria) this;
        }

        public Criteria andOremarkNotBetween(String value1, String value2) {
            addCriterion("oremark not between", value1, value2, "oremark");
            return (Criteria) this;
        }

        public Criteria andOtypeIsNull() {
            addCriterion("otype is null");
            return (Criteria) this;
        }

        public Criteria andOtypeIsNotNull() {
            addCriterion("otype is not null");
            return (Criteria) this;
        }

        public Criteria andOtypeEqualTo(String value) {
            addCriterion("otype =", value, "otype");
            return (Criteria) this;
        }

        public Criteria andOtypeNotEqualTo(String value) {
            addCriterion("otype <>", value, "otype");
            return (Criteria) this;
        }

        public Criteria andOtypeGreaterThan(String value) {
            addCriterion("otype >", value, "otype");
            return (Criteria) this;
        }

        public Criteria andOtypeGreaterThanOrEqualTo(String value) {
            addCriterion("otype >=", value, "otype");
            return (Criteria) this;
        }

        public Criteria andOtypeLessThan(String value) {
            addCriterion("otype <", value, "otype");
            return (Criteria) this;
        }

        public Criteria andOtypeLessThanOrEqualTo(String value) {
            addCriterion("otype <=", value, "otype");
            return (Criteria) this;
        }

        public Criteria andOtypeLike(String value) {
            addCriterion("otype like", value, "otype");
            return (Criteria) this;
        }

        public Criteria andOtypeNotLike(String value) {
            addCriterion("otype not like", value, "otype");
            return (Criteria) this;
        }

        public Criteria andOtypeIn(List<String> values) {
            addCriterion("otype in", values, "otype");
            return (Criteria) this;
        }

        public Criteria andOtypeNotIn(List<String> values) {
            addCriterion("otype not in", values, "otype");
            return (Criteria) this;
        }

        public Criteria andOtypeBetween(String value1, String value2) {
            addCriterion("otype between", value1, value2, "otype");
            return (Criteria) this;
        }

        public Criteria andOtypeNotBetween(String value1, String value2) {
            addCriterion("otype not between", value1, value2, "otype");
            return (Criteria) this;
        }

        public Criteria andManIsNull() {
            addCriterion("man is null");
            return (Criteria) this;
        }

        public Criteria andManIsNotNull() {
            addCriterion("man is not null");
            return (Criteria) this;
        }

        public Criteria andManEqualTo(Long value) {
            addCriterion("man =", value, "man");
            return (Criteria) this;
        }

        public Criteria andManNotEqualTo(Long value) {
            addCriterion("man <>", value, "man");
            return (Criteria) this;
        }

        public Criteria andManGreaterThan(Long value) {
            addCriterion("man >", value, "man");
            return (Criteria) this;
        }

        public Criteria andManGreaterThanOrEqualTo(Long value) {
            addCriterion("man >=", value, "man");
            return (Criteria) this;
        }

        public Criteria andManLessThan(Long value) {
            addCriterion("man <", value, "man");
            return (Criteria) this;
        }

        public Criteria andManLessThanOrEqualTo(Long value) {
            addCriterion("man <=", value, "man");
            return (Criteria) this;
        }

        public Criteria andManIn(List<Long> values) {
            addCriterion("man in", values, "man");
            return (Criteria) this;
        }

        public Criteria andManNotIn(List<Long> values) {
            addCriterion("man not in", values, "man");
            return (Criteria) this;
        }

        public Criteria andManBetween(Long value1, Long value2) {
            addCriterion("man between", value1, value2, "man");
            return (Criteria) this;
        }

        public Criteria andManNotBetween(Long value1, Long value2) {
            addCriterion("man not between", value1, value2, "man");
            return (Criteria) this;
        }

        public Criteria andOremark1IsNull() {
            addCriterion("oremark1 is null");
            return (Criteria) this;
        }

        public Criteria andOremark1IsNotNull() {
            addCriterion("oremark1 is not null");
            return (Criteria) this;
        }

        public Criteria andOremark1EqualTo(String value) {
            addCriterion("oremark1 =", value, "oremark1");
            return (Criteria) this;
        }

        public Criteria andOremark1NotEqualTo(String value) {
            addCriterion("oremark1 <>", value, "oremark1");
            return (Criteria) this;
        }

        public Criteria andOremark1GreaterThan(String value) {
            addCriterion("oremark1 >", value, "oremark1");
            return (Criteria) this;
        }

        public Criteria andOremark1GreaterThanOrEqualTo(String value) {
            addCriterion("oremark1 >=", value, "oremark1");
            return (Criteria) this;
        }

        public Criteria andOremark1LessThan(String value) {
            addCriterion("oremark1 <", value, "oremark1");
            return (Criteria) this;
        }

        public Criteria andOremark1LessThanOrEqualTo(String value) {
            addCriterion("oremark1 <=", value, "oremark1");
            return (Criteria) this;
        }

        public Criteria andOremark1Like(String value) {
            addCriterion("oremark1 like", value, "oremark1");
            return (Criteria) this;
        }

        public Criteria andOremark1NotLike(String value) {
            addCriterion("oremark1 not like", value, "oremark1");
            return (Criteria) this;
        }

        public Criteria andOremark1In(List<String> values) {
            addCriterion("oremark1 in", values, "oremark1");
            return (Criteria) this;
        }

        public Criteria andOremark1NotIn(List<String> values) {
            addCriterion("oremark1 not in", values, "oremark1");
            return (Criteria) this;
        }

        public Criteria andOremark1Between(String value1, String value2) {
            addCriterion("oremark1 between", value1, value2, "oremark1");
            return (Criteria) this;
        }

        public Criteria andOremark1NotBetween(String value1, String value2) {
            addCriterion("oremark1 not between", value1, value2, "oremark1");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}